﻿using Panuon.WPF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MCPlatform.MotionLib.Base.Models
{
    public class ImpMotionParaInfo    
    {
        #region Properties

        /// <summary>
        /// 坐标系号名称
        /// </summary>
        public string? CrdName { get; set; }

        /// <summary>
        /// 坐标系号
        /// </summary>
        public ushort CrdNo { get; set; }

        /// <summary>
        /// 轴数量
        /// </summary>
        public ushort AxisNum 
        { 
            get 
            {
                if (AxisList.Length > 0)
                {
                    return (ushort)AxisList.Length;
                }
                return 2;
            }
            set { }
        } 

        /// <summary>
        /// 轴列表
        /// </summary>
        public ushort[] AxisList { get; set; }



        /// <summary>
        /// 最小速度
        /// </summary>
        public double MinVelocity { get; set; }


        /// <summary>
        /// 最大速度
        /// </summary>
        public double MaxVelocity { get; set; }


        /// <summary>
        /// 加速度
        /// </summary>
        public double Acc { get; set; }


        /// <summary>
        /// 减速度
        /// </summary>
        public double Dec { get; set; }


        /// <summary>
        /// 停止速度
        /// </summary>
        public double StopVelocity { get; set; }


        /// <summary>
        /// S曲线模式
        /// </summary>
        public ushort SMode { get; set; }


        /// <summary>
        /// S曲线时间
        /// </summary>
        public double SPara { get; set; }


        #endregion

        #region CTOR

        public ImpMotionParaInfo(ushort crdNo,ushort[] axisList)
        {
            CrdNo = crdNo;
            AxisList = axisList;
        }



        #endregion

    }
}
